home *** CD-ROM | disk | FTP | other *** search
/ AEMail 2.40 / AEMail v2.40.iso / documentation / email.txt < prev    next >
Text File  |  1997-08-31  |  20KB  |  350 lines

  1.                             Understanding email
  2.                            by John F. Zacharias
  3.  
  4.             (c) 1997 by John F. Zacharias, All Rights Reserved
  5.  
  6. One of the most popular uses of the Internet is it's ability to transmit
  7. mail anywhere in the world.  Transmission is virtually instantaneous which
  8. beats the more commonly used U.S.  Postal Service in which mail is often
  9. referred to as "smail" or "snail mail" because of the long time it takes to
  10. receive letters, especially from foreign sources .  Mail on the Internet is
  11. referred to as "email" or "electronic mail" because it uses electronic
  12. means to transfer the mail that is very fast.
  13.  
  14. To understand email you need to understand a few concepts and the
  15. terminology of the Internet.  First of all you need to understand the
  16. "client/server" concept.  A "client" is a program on your computer which
  17. talks to a "server" (one that provides a service) program which is
  18. generally on another computer.  It is the "server" which actually talks to
  19. the Internet and provides various Internet services such as the ability to
  20. transfer email, files, world wide web pages, etc.  throughout the world of
  21. the Internet.
  22.  
  23. The "client" programs on your computer generally handles a single function
  24. such as processing mail, transferring files, or reading world wide web
  25. pages.  In this article I will occasional make reference to my email client
  26. program, AEMail, and relate some of the concepts to it.
  27.  
  28. To talk to the "server" program, you need something called a TCP/IP stack.
  29. TCP/IP stands for "Transmission Control Protocol/ Internet Protocol".  The
  30. word "protocol", which you will see a lot with the Internet, is defined as
  31. "a clearly defined set of rules by which two sides communicate" and is a
  32. widely used term in the telecommunications arena.  For the Internet these
  33. "protocols" are generally published as RFC's, or "Request for Comments".
  34. Each RFC is numbered and describes the current accepted "protocol" for a
  35. particular area.
  36.  
  37. The term "stack" refers to a special model that is used for describing
  38. telecommunications.  This is a fairly lengthy concept that we will not go
  39. into here.  The TCP/IP stack is provided by a special kind of
  40. communication's program that resides on your computer.  Three widely used
  41. TCP/IP stacks that are used on the Amiga are AmiTCP, Termite TCP, and
  42. Miami.  Of these three programs AmiTCP is probably the hardest to use and
  43. Miami is probably the easiest.
  44.  
  45. The "server" program is general provided by an ISP, or "Internet Service
  46. Provider".  Since the "client" and "server" programs talk with commonly
  47. known "protocols", each program can reside of any computer whether it be a
  48. PC, Macintosh, Amiga, or a Unix based computer.  As long as a particular
  49. ISP supports the particular protocol that is being used, your Amiga can
  50. talk to it.  If you hear "we don't support the Amiga" from an ISP it only
  51. means that they do not have anyone on their staff that knows anything about
  52. the Amiga so they can not provide any assistance if you are having trouble
  53. connecting to them.  If you can talk to them in Internet specific terms,
  54. then they should be able to answer your questions.  In other words, don't
  55. mention that you have an Amiga!
  56.  
  57. There is one other thing you need to know about the connection to your ISP.
  58. There are three ways a home computer can talk to the ISP.  These are
  59. generally referred to as shell, SLIP, or PPP accounts.  With a "shell"
  60. account your computer does not have to know TCP/IP.  It can communicate
  61. with the ISP with a simple terminal program.  However, in this case you
  62. computer is nothing more than a "dumb terminal".  The "client" programs
  63. actually reside on the ISP.  In this case you are limited in what you can
  64. do and you need to know Unix, since most ISP shell accounts use a Unix
  65. operating system interface.
  66.  
  67. Both PPP and SLIP can talk TCP/IP to your ISP which means that client
  68. programs, such as email programs, web browsers, or file transfer programs
  69. can reside on your Amiga.  PPP stands for "Point-to-Point Protocol" and
  70. SLIP stands for "Serial Line Internet Protocol".  SLIP is an older protocol
  71. and is not as reliable as PPP.  Most systems today use PPP.  Both of these
  72. protocols allow you to dial up your ISP and then talk using TCP/IP.
  73.  
  74. The Internet is a global communication facility that talks to many
  75. locations at once.  It is similar to the Postal Service in that you can
  76. deposit your mail at any one location and it will be reliably delivered to
  77. it's destination provided you have addressed it correctly.
  78.  
  79. Like mailing a letter, you need to have an address so that the Internet
  80. knows where to deliver it.  Addresses on the Internet are a series of
  81. numbers referred to as an IP address.  These numbers can identify a
  82. location just as the city, state, and zip code on a letter can identify the
  83. post office that a letter is to be delivered to.
  84.  
  85. Since IP addresses are nothing more than numbers they are very hard to
  86. remember.  So the Internet has come up with something called a "domain"
  87. name.  The domain is a name that your ISP has assigned to itself.  There
  88. are certain rules that have to be followed for this name.  First of all the
  89. name can not be used by someone else.  In the US, you will usually see the
  90. domain name followed with a suffix like .com, .edu., or .org (which stand
  91. for commercial organization, educational organization, or non-profit
  92. organization).  In foreign countries the domain name generally has a suffix
  93. which identifies the country (i.e., .uk, .fr, .dk, .de, etc.).
  94.  
  95. The Internet itself can only identify locations with the numeric IP
  96. address.  However, each ISP has a "domain name service" (DNS) which can
  97. look up a domain name and get it's corresponding IP address.  This means
  98. you can use domain names in addresses and not worry about what the real IP
  99. address is.  When you set up your TCP/IP stack software you may have to
  100. give the IP addresses of your ISP's Domain Name Servers.  However smarter
  101. TCP/IP software (such as Miami) can get these DNS IP addresses
  102. automatically.
  103.  
  104. In order to receive email you will have an "email address".  This email
  105. address looks like this:  username@domain-name.  The domain-name is
  106. generally the domain name of your ISP.  Sometimes this domain name is
  107. prepended with a computer name followed by a period; however, just the
  108. domain name of the ISP usually is sufficient.  The username is a name
  109. either chosen by you or assigned to you by your ISP.  This is how the ISP
  110. identifies you.  You should check with you ISP to be sure what your email
  111. address is.
  112.  
  113. When you send mail to someone you must know their email address also.  This
  114. is how you address your "letters" to them just as the address on the
  115. letters you send by snail mail are addressed to a particular recipient.
  116. You can think of the part of the email address to the left of the "@" sign
  117. as the same as your street address or P.O.  Box and the part to the address
  118. to the right if the "@" as the city, state, and zip code which identifies
  119. the post office (ISP) that handles your mail.  You can also specify a "real
  120. name" which can be thought of as the name part of your address.  The real
  121. name is placed either after the email address surrounded by parenthesis or
  122. in front of the email address with the email address surrounded by less
  123. than/greater than brackets (<......>).  You do not need a real name to
  124. receive email, however.  The email address is sufficient.  AEMail uses the
  125. real-name <email address> format in identifying who is sending the mail.
  126.  
  127. With the Internet there are two protocols that handle sending and receiving
  128. mail.  These are the SMTP (Simple Mail Transfer Protocol) and the POP or
  129. Post Office Protocol.  Mail is sent using the SMTP protocol.  This is also
  130. the protocol that the Internet uses for transferring mail between two
  131. different locations.  The POP protocol is used to transfer the mail from
  132. your ISP to your client software.  With the POP protocol your ISP is able
  133. to store your mail in mailboxes on the ISP's computer until you are ready
  134. to retrieve it.  That is why you use the SMTP protocol to send mail and the
  135. POP protocol to receive mail.
  136.  
  137. Your ISP may have two different servers to handle mail, the SMTP server to
  138. handle the SMTP protocol and the POP server to handle the POP protocol, or
  139. the same server may be used to handle both functions.  You usually have to
  140. tell your email client software what the names of these servers are so it
  141. can connect to the proper one to handle the function you want to perform
  142. (either sending or receiving messages).  As an example, CalWeb (my ISP)
  143. uses pop.calweb.com for its POP server and smtp.calweb.com for it's SMTP
  144. server.  Some ISP use mail.domain-name to refer to both the POP and SMTP
  145. servers.  Others have more exotic names.  You need to check with your ISP
  146. for the proper names to be used for these services.
  147.  
  148. When you set up your email software you will need to know your email
  149. address and the names of your POP and SMTP servers.
  150.  
  151. Just like letters that you compose and send by snail mail, email letters
  152. are divided into several sections.  The first is the header for the mail.
  153. It tells the Internet things such as who sent the mail, who it's going to,
  154. the date and time it is being sent, and the subject of the letter.  These
  155. header fields have specific proscribed formats that consist of an
  156. identifier followed by a colon which is then followed by a field that
  157. contains the contents of that particular header.  Some of these headers and
  158. what they contain are:
  159.  
  160. Date:  This header contains the date and time the message was sent.  Since
  161. the time can be relative to anywhere in the world it is followed by an
  162. offset which can be subtracted or added to the time to get Greenwich Mean
  163. time (GMT) (or some times referred to as "Universal Time" (UT))
  164.  
  165.     From: This identifies the email address of who is sending the mail.
  166.  
  167.     To: This identifies the email address of the recipient(s) of the mail.
  168.         With email you can send the same mail to multiple recipients.  The
  169.         email address of each recipient is separated by commas.
  170.  
  171.     cc: This identifies (by email address) who is to receive carbon copies
  172.         of the mail.  Again, you can send carbon copies to multiple
  173.         recipients.
  174.  
  175.     bcc: (Blank Carbon Copies).  This identifies who will receive what is
  176.         called blank carbon copies.  When this header is used, the bcc:
  177.         field will not show up in the messages received by the intended
  178.         recipients of the message.
  179.  
  180.     Reply-To:  This is the email address of where replies are to be sent.
  181.         It is possible that a person has two or more email accounts and
  182.         they want the replies directed to only one of these accounts.
  183.  
  184.     Subject:  This is the subject of the email message.  If the message is
  185.         a reply to a previous message, RE:  will appear in front of the
  186.         subject.  This is usually done automatically by the email client
  187.         software.  If you are forwarding a message you have received to
  188.         another party, (fwd) will generally appear after the subject line.
  189.  
  190.     Organization:  This is informational only and identifies the
  191.         organization that one belongs to.  It is not a necessary header.
  192.  
  193. The above headers are the ones that are generally used by people composing
  194. and sending email.  Other headers are usually added as the message travels
  195. through the Internet.  You client software may also include headers that
  196. identifies the client software (the X-Mailer:  header) and the types of
  197. attachments that are being placed on the message.  Your email client
  198. software will probably normally hide these headers from you.  AEMail has
  199. the ability to both hide the headers or show them as the user wishes.  With
  200. AEMail you can also specify which headers you want shown.
  201.  
  202. The next section of an email message is the body.  It is here that you
  203. compose the message that you want to send.  The header section and the body
  204. of the message is always separated by one blank line.  With AEMail, the
  205. headers are automatically created from information you provide on the
  206. "compose message screen" and you don't have to worry about creating them
  207. yourself.  A facility is provided, however, for adding additional headers
  208. of the user's own choosing.
  209.  
  210. The body of the message is followed by a "signature" block.  This is a text
  211. message that is appended to the message which the user sets up to identify
  212. and give information about his or herself.  This could contain email
  213. addresses or world wide web addresses that the user uses or maintains.  It
  214. might also contain information on the organizations that the user belongs
  215. to.  The "signature" block is optional.  The user can set up a common
  216. signature block that is always appended to every message he or she sends.
  217. In AEMail you can have multiple signature blocks set up.  You can then
  218. specify which one is to be used with any particular email message.  You can
  219. even suppress using the signature block on certain messages.
  220.  
  221. The above are the basic building blocks of an email message.  However, as
  222. with snail mail letters, you might want to include attachments to your
  223. message.  These attachments are usually files on your system that you might
  224. want to include with your message.  These files can be text files, program
  225. files, picture files, or sound files - in fact any type of file that your
  226. system and the recipient's system can handle.
  227.  
  228. A standard has been developed for attachments for email called MIME or
  229. "Multipurpose Internet Mail Extension".  With this type of attachment you
  230. assign the file you wish to attach to a specific type and subtype.  The
  231. types that are defined are:  text, message, multipart, application, image,
  232. audio, and video.  Text is used for normal text type documents.  Subtypes
  233. in this category are "plain", "enriched", and "richtext".  The one most
  234. people would be using is "plain" for a normal ASCII document.
  235.  
  236. "Message" is a special category used when error messages are returned with
  237. an attachment of the message that was in error.  "Multipart" is also a
  238. special category that indicates that attachments are included and describes
  239. the method in which they are separated.  Normally you do not have to worry
  240. about this type since it is generated automatically when you specify
  241. attachments.
  242.  
  243. "Application" is used when you want to attach programs, lha files, or other
  244. binary type files.  Native word processing files should also use this type.
  245. Subtypes within the "application" type are "octet-stream" (any binary type
  246. file) and "postscript" (for documents in postscript format).
  247.  
  248. If you are attaching images files, sound files, or video files don't use
  249. "application", but rather use the appropriate "image", "audio", or "video"
  250. types.  If you use these types your email program will be able to interpret
  251. the files correctly and display them as appropriate.
  252.  
  253. AEMail uses a special file called a "mailcap" file to tell it how to
  254. display a particular type/subtype.  A "mailcap" file is a common Internet
  255. type of file.  It specifies the various types/subtypes and the programs
  256. that are used to display any particular type/subtype file.  For people
  257. using AmigaDos 3.x, the program for displaying the attachments is by
  258. default "multiview".  That's because multiview uses datatypes that can
  259. automatically detect what sort of file is being displayed.  You do need to
  260. have the datatype for that file type in your datatype directory, however.
  261. In AEMail, you can use any program you want for displaying your attachments
  262. of a particular type/subtype - it does not have to be multiview.
  263.  
  264. Another problem with email is the coding scheme that is used to represent
  265. characters and binary data.  To understand this, we need to know a bit of
  266. history.  In the early days of telecommunications (transmitting data over
  267. phone lines), the protocols that were used (before the Internet and TCP/IP)
  268. used a code called ASCII.  We still use that code today.  However, the
  269. original ASCII was only seven bits.  An eighth bit was reserved for
  270. something called "parity".  Parity was used to check the accuracy of the
  271. transmission.
  272.  
  273. Seven bits only allows character codes for 128 characters.  This was
  274. sufficient for English since 32 codes could be reserved for "control
  275. characters" (used to control the transmission), 32 codes for numeric and
  276. special characters, 32 characters for uppercase alphabetic characters and
  277. some special characters, and 32 codes for lowercase alphabetic characters
  278. and some special characters.  This worked fine for English since the extra
  279. special character codes that were available were sufficient to handle all
  280. of the special characters that were available on most keyboards.
  281.  
  282. However, once foriegn languages and their special needs were introduced,
  283. 128 character codes were not sufficient.  Other error checking schemes were
  284. introduced and an extended ASCII character set was developed that utilizes
  285. eight bits rather than seven bits.  The TCP/IP protocol can handle eight
  286. bits; however some of the terminals accessing the TCP/IP networks (and the
  287. protocols they use) can only handle the seven bit ASCII codes.
  288.  
  289. Email is generally used for transmitting text messages although with the
  290. use of attachments, we can also send program files and other special types
  291. of files that use binary or eight bit data.  Also, both standard seven bit
  292. ASCII and the extended eight bit ASCII still require special codes for
  293. "control characters".  This is to handle such things as line breaks
  294. (carriage return and line feed characters) and tab characters.  These
  295. "control characters" interfer with pure binary data.
  296.  
  297. Therefor, special coding schemes are required to send email messages in
  298. order to handle sending extended ASCII and binary data.  The coding schemes
  299. used with email include:
  300.  
  301.     Standard seven bit ASCII (referred to as 7-bit)
  302.     Extended eight bit ASCII (referred to as 8-bit)
  303.     Quoted-Printable
  304.     Base64
  305.  
  306. Both "Quoted-Printable" and "Base 64" are used to send eight bit binary
  307. data.  "Quoted-Printable" is generally used to send extended eight bit
  308. ASCII on systems that can only handle standard seven bit ASCII.  Most of
  309. the characters that used are sent as seven bit ASCII characters, but for
  310. those special "foriegn characters", a special "escape" code is used and the
  311. character is sent as a hexadecimal character.
  312.  
  313. "Base64" is a coding scheme that allows pure binary data to be sent.  In
  314. AEMail the Base64 coding is referred to as "encoded binary".  In this
  315. scheme three characters are encoded as four ASCII characters and placed in
  316. lines limited to 76 characters.
  317.  
  318. All of these coding schemes can be used in both the body of a message and
  319. in attachments; although some email clients can't handle Base64 for the
  320. body of a message and this should be avoided (AEMail, starting with version
  321. 1.20, can).
  322.  
  323. You will have to specify which coding scheme you want to use for both your
  324. message body and any particular attachment.  Generally speaking message
  325. bodies and "text" and "message" attachments use either 7-bit, 8-bit, or
  326. quoted-printable encoding.  Other attachment types use Base64 encoding.
  327.  
  328. Another type of coding is used for attachments which derives from older
  329. schemes used for adding attachments to messages on BBSes.  This scheme does
  330. not use MIME and is called UUENCODING.  This coding scheme looks similar to
  331. Base64.  Attachments using this coding scheme do not have a well defined
  332. set of headers like MIME attachments do.  The attachment is embedded in the
  333. message and has one header line beginning with the word "BEGIN".  AEMail
  334. can create and read UUENCODED attachments, but such attachments can not be
  335. displayed.  They can, however, be saved as separate binary files.
  336.  
  337. If you are interested in using an email client program for the Internet,
  338. you can obtain AEMail from my web page, http://www.calweb.com/~jzachar, or
  339. from Aminet in the comm/mail section.  It can also be obtained from the
  340. SACC library.  The latest version of AEMail is version 1.21 but a new
  341. version, 1.30 is due out around the first of September.  The new version
  342. will add clipboard support to the program.
  343.  
  344. AEMail is shareware.  The shareware fee is $30, but you can download a demo
  345. copy from the sources listed above.  The demo copy will have certain
  346. features disabled until AEMail is registered.
  347.  
  348.  
  349.  
  350.